struct P { char name[10] ;int age ;} sizeof(P)没问题,但怎么sizeof(P.成员)?

来源:百度知道 编辑:UC知道 时间:2024/05/29 12:19:01
struct P { char name[10] ;int age ;} sizeof(P)没问题,但怎么sizeof(P.a)?
我是说有时候不想创建对象的时候,怎么sizeof (P.成员)?
可以sizeof (p ) = 16,答案是16的原因编译器知道 10 + 6 = 16
总得可以得出大小,为什么分开就不能得出大小?

P.a 这种表达方式不合语法规范
P 是什么?是类,类后面不能加 .
只有对象可加.
但类可加::, sizeof(P::a) 是特定情况下是可以的,那就是 a 为静态成员变量

首先声明一个P类型的对象
P a;
sizeof (a.成员);

没有对象,何来对象占据的内存大小???